МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
Лабораторна робота № 4
з дисципліни
"Архітектура комп’ютерів ч.2"
Львів – 2014
Тема: практика роботи з архітектурним симулятором WinMIPS64
Мета: Опанування технікою роботи з архітектурним симулятором WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64.
Завдання: Дослідити симулюванням виконання заданих викладачем машинних окремих інструкцій і пар інструкцій. За результатами проведених лабораторних досліджень оформити звіт та захистити його.
Теоретична частина:
Симулятор використовує операційну систему Windows. Симулятор WinMIPS64 запускають за правилами Windows. Основне вікно симулятора містить шість дочірних вікон і ще статусну лінію під ними. Дочірні вікна отримали назви Pipeline, Code, Data, Registers, Statistics і ще вікно часових діаграм (Clock Cycles Diagram).
/
1)Pipeline window
вікно конвеєра інструкцій, five pipeline stages :
1. IF – instruction fetch from instruction memory
2. ID – instruction decoding/operand fetch
3. EX – execute
4. MEM – to/from data memory
5. WB – write back to registers file
Вікно містить “схематичне” подання п’ятисходинкового конвеєра інструкцій 64-розрядного процесора MIPS64 разом з апаратними секціями виконання операцій рухомої коми, а саме, додавання/віднімання (addition/subtraction) множення (multiplication) і ділення (division). Рухоме ділення не конвеєризоване. Це вікно показує, на якій сходинці конвеєра знаходиться та чи інша інструкція. Вікно може збільшуватися.
2)Code window (вікно коду).
Вікно виконує триколонкове подання пам’яті інструкцій, а саме, (зліва направо): адреса байта, 32-бітову машинну інструкцію, асемблерну інструкцію. Подвійний лівий щиголь мишею на певній інструкції встановлює/знімає точку зупинки.
3)Data window (вікно даних)
Це вікно показує вмістиме пам’яті даних,. Ясно, що адресування комірок виконується побайтне, проте у вікні вмістиме подане 64-бітовими пакетами, тобто так, як це вмістиме сприймає 64-розрядний процесор. Аби відредагувати певні дані, треба зробити на них подвійний лівий щиголь мешею (double-left-click).
Аби побачити і відрегувати дані з рухомою комою, треба виконати подвійний правий щиголь (double-right-click).
/
4)Register window (регістрове вікно)
Вікно подає вмістиме регістрів. Коли вмістиме регістрів подають сірим кольором, тоді вмістиме цих регістрів змінюється під дією програми, що симулюється. Коли вмістиме регістру подається кольором, тоді цей колір відповідає кольору сходинки конвеєра де знаходится відповідна інструкція за умови, що з цієї сходинки є можливим так зване випередження (forwarding).
Це вікно дозволяє інтерактивну зміну вмістимого будь-якого регістру, тобто, залежно від контексту, зміну коду 64-бітового цілого або рухомого числа, що в поточний момент містить регістр. Останнє можливе лише за умови, що обраний регістр не знаходиться в процес програмної зміни вмістимого і його вмістиме не має не використовуватися для випередженн даними. Аби змінити вмістиме регістра на ньому треба зробити подвійний лівий щиголь (double-left click on the register). З’явиться модальне спливаюче вікно. Треба натиснути OK, аби записати до регістру 64-бітове гексадецимальне 0х0000000000000777.
/
5)Clock Cycle diagram (вікно часової діаграми)
Вікно містить часову поведінку конвеєра, що знаходиться під дією поточної програми, що симулюється. Воно фіксує історію кожної інструкції. Коли певна інструкція спричиняє пригальмовування конвеєра, тоді її символьне подання в лівій частині циклового вінка міняє колір з чорного на синій. Інструкції, що споживають результат пригальмованої інструкції змінюють колірність на сіру.
6)Statistics (вікно статистики)
Саме це вікно є найважливішим, адже воно накопичує результати виконання кожної лабораторної роботи з дослідження ефективності RI...